Intelligent controlled charging stations

ABSTRACT

An in-store customer transaction can be detected. Power charging credits can be assigned to the customer based, at least in part, on the in-store customer transaction. A charging station can be activated for the customer. Whether an amount of energy consumption by at least one user device of the customer from the charging station has reached a threshold value can be determined. The threshold value can be based, at least in part, on the charging credits assigned to the customer. Responsive to determining that the energy consumption by the at least one user device of the customer from the charging station has reached the threshold value, the charging station can cease or reduce power being delivered by the charging station to the at least one user device of the user.

BACKGROUND

The present invention relates to power charging of user devices.

The use of mobile devices, such as smartphones, tablet computers, laptopcomputers, etc., is commonplace. To support mobility, mobile devicestypically include rechargeable batteries used to power the devices. Suchbatteries store a finite amount of energy and need to be recharged fromtime to time. To make charging of mobile device batteries moreconvenient in their facilities, stores, such as cafes, coffee shops,etc., and other facilities oftentimes provide charging outlets and/orcharging ports for use by customers to charge their mobile devices.

SUMMARY

A method includes detecting an in-store customer transaction. The methodalso can include assigning power charging credits to the customer based,at least in part, on the in-store customer transaction. The method alsocan include activating a charging station for the customer. The methodalso can include determining, using a processor, whether an amount ofenergy consumption by at least one user device of the customer from thecharging station has reached a threshold value, the threshold valuebased, at least in part, on the power charging credits assigned to thecustomer. The method also can include, responsive to determining thatthe energy consumption by the at least one user device of the customerfrom the charging station has reached the threshold value, initiatingthe charging station to cease or reduce power being delivered by thecharging station to the at least one user device of the user.

A system includes a processor programmed to initiate executableoperations. The executable operations include detecting an in-storecustomer transaction. The executable operations also can includeassigning power charging credits to the customer based, at least inpart, on the in-store customer transaction. The executable operationsalso can include activating a charging station for the customer. Theexecutable operations also can include determining whether an amount ofenergy consumption by at least one user device of the customer from thecharging station has reached a threshold value, the threshold valuebased, at least in part, on the power charging credits assigned to thecustomer. The executable operations also can include, responsive todetermining that the energy consumption by the at least one user deviceof the customer from the charging station has reached the thresholdvalue, initiating the charging station to cease or reduce power beingdelivered by the charging station to the at least one user device of theuser.

A computer program product includes a computer readable storage mediumhaving program code stored thereon. The program code is executable by adata processing system to initiate operations. The operations includedetecting an in-store customer transaction. The operations also caninclude assigning power charging credits to the customer based, at leastin part, on the in-store customer transaction. The operations also caninclude activating a charging station for the customer. The operationsalso can include determining whether an amount of energy consumption byat least one user device of the customer from the charging station hasreached a threshold value, the threshold value based, at least in part,on the power charging credits assigned to the customer. The operationsalso can include, responsive to determining that the energy consumptionby the at least one user device of the customer from the chargingstation has reached the threshold value, initiating the charging stationto cease or reduce power being delivered by the charging station to theat least one user device of the user.

This Summary section is provided merely to introduce certain conceptsand not to identify any key or essential features of the claimed subjectmatter. Other features of the inventive arrangements will be apparentfrom the accompanying drawings and from the following detaileddescription.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a cloud computing environment according to an embodimentof the present invention.

FIG. 2 depicts abstraction model layers according to an embodiment ofthe present invention.

FIG. 3 is a block diagram illustrating example architecture for a powercharging system.

FIG. 4 is a block diagram illustrating example architecture for acharging station.

FIG. 5 is a perspective view of an example of a charging locker.

FIG. 6 depicts an example of a user interface of a charging locker.

FIG. 7 is a block diagram illustrating example architecture for acharging station controller.

FIG. 8 is a block diagram illustrating example architecture for atransaction server.

FIG. 9 is a flowchart illustrating an example of a method of providing apower charging service.

DETAILED DESCRIPTION

This disclosure relates to power charging of user devices. In accordancewith the inventive arrangements disclosed herein, customers can beassigned power charging credits based on in-store purchases. Thecustomers can use the power charging credits to charge their userdevices at charging stations. Power charging credits can be detectedfrom the customer's power charging credits based on an amount of energyconsumed by the customer's user devices and/or an amount of time theuser devices are charged. The power charging credits can be assigned,deducted, and transferred using a distributed ledger, such as ablockchain. Numerous arrangements related to assignment, use anddeduction of power charging credits are described herein.

Several definitions that apply throughout this document now will bepresented.

As defined herein, the term “store” means a physical place where acustomer may purchase goods and/or services.

As defined herein, the term “in-store transaction” means a purchasetransaction made at a store for a customer.

As defined herein, the term “customer” means a person (i.e., a humanbeing).

As defined herein, the term “user” means a person.

As defined herein the term “user device” means a portable rechargeabledevice used by a person. Examples of a user device include a smartphone, a portable computer (e.g., a laptop computer, a tablet computer,etc.), a smart watch, smart glasses, a rechargeable mouse, arechargeable keyboard, rechargeable headphones, and a portablerechargeable power supply.

As defined herein, the term “charging station” means a power chargingdevice including at least one power outlet, at least one power chargingport and/or at least one wireless charger, the power charging deviceconfigured to be operable between an activated state in which the powercharging device provides power to the at least one power outlet, atleast one power charging port and/or at least one wireless charger, anda deactivated state where the power charging device does not providepower to the at least one power outlet, at least one power charging portand/or at least one wireless charger.

As defined herein, the term “charging station” means an apparatusincluding at least one power charging port, power outlet and/or wirelesscharger used for charging user devices.

As defined herein, the term “energy consumption” means an amount ofenergy consumed by at least one user device to operate and/or charge atleast one battery while the user device is charging. Energy consumptiontypically is measured in kilowatt-hours (kWh), but also may be measuredin joules (J). As the term “energy consumption” is defined herein, anamount of time a user device is charged is not energy consumption. Forexample, assume a first user device and a second user device both arecharged for the same amount of time at the same voltage. If the firstuser device draws more current than the second user device while theyare charging, the first user device will have higher energy consumptionthan the second user device, even though the devices are charged for thesame amount of time.

As defined herein the term “power” means an amount of energy transferredper unit of time. Power typically is measured in watts (W).

As defined herein, the term “distributed ledger” means a consensus ofreplicated, shared, and synchronized digital data, having no centraladministration, geographically spread across multiple sites, countries,and/or institutions. As the term “distributed ledger” is defined herein,a distributed database is not a distributed ledger. In this regard, adistributed database has central administration.

As defined herein, the term “blockchain” means a form of distributedledger comprising a growing list of records, called blocks, that arelinked using cryptography.

As defined herein, the term “responsive to” means responding or reactingreadily to an action or event. Thus, if a second action is performed“responsive to” a first action, there is a causal relationship betweenan occurrence of the first action and an occurrence of the secondaction, and the term “responsive to” indicates such causal relationship.

As defined herein, the term “computer readable storage medium” means astorage medium that contains or stores program code for use by or inconnection with an instruction execution system, apparatus, or device.As defined herein, a “computer readable storage medium” is not atransitory, propagating signal per se.

As defined herein, the term “data processing system” means one or morehardware systems configured to process data, each hardware systemincluding at least one processor programmed to initiate executableoperations and memory.

As defined herein, the term “processor” means at least one hardwarecircuit (e.g., an integrated circuit) configured to carry outinstructions contained in program code. Examples of a processor include,but are not limited to, a central processing unit (CPU), an arrayprocessor, a vector processor, a digital signal processor (DSP), afield-programmable gate array (FPGA), a programmable logic array (PLA),an application specific integrated circuit (ASIC), programmable logiccircuitry, and a controller.

As defined herein, the term “server” means a data processing systemconfigured to share services with one or more other data processingsystems.

As defined herein, the term “automatically” means without userintervention.

It is to be understood that although this disclosure includes a detaileddescription on cloud computing, implementation of the teachings recitedherein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported, providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure that includes anetwork of interconnected nodes.

Referring now to FIG. 1 , illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 includes one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 10 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 50 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 1 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 2 , a set of functional abstraction layersprovided by cloud computing environment 50 (FIG. 1 ) is shown. It shouldbe understood in advance that the components, layers, and functionsshown in FIG. 2 are intended to be illustrative only and embodiments ofthe invention are not limited thereto. As depicted, the following layersand corresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66. In some embodiments, software componentsinclude network application server software 67 and database software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In an example, management layer 80 may provide the functions describedbelow. Resource provisioning 81 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 82provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may include applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and user experience 96.

FIG. 3 is a block diagram illustrating example architecture for a powercharging system 300. The power charging system 300 can include aplurality of transaction servers 310, 312 communicatively linked to thecloud computing environment 50, for example via the Internet. Thetransaction servers 310, 312 can be implemented as data processingsystems. The transaction server 310 can be communicatively linked to oneor more charging station controllers 320. The transaction server 312 canbe communicatively linked to one or more charging station controllers322 in a similar manner. The charging station controller(s) 320 can becommunicatively linked to a plurality of charging stations 330, 331,332, 333, 334, and the charging station controller(s) 322 can becommunicatively linked to a plurality of charging stations 340, 341,342, 343, 344. Further, the transaction server 310 can becommunicatively linked to one or more Point of Sale (POS) terminals 350(e.g., electronic cash registers, electronic payment terminals, etc.),and the transaction server 312 can be communicatively linked to one ormore Point of Sale (POS) terminals 352. User devices 360, 362 caninterface with the transaction servers 310, 312, for example usingmobile applications and/or web browsers accessing web-basedapplications, to gain access to the charging stations 330-334, 340-344,as will be described herein.

Each communication link between the transaction servers 310, 312 and thecharging station controllers 320, 322, between the transaction servers310, 312 and the POS terminals 350, 352 and between the transactionservers 310, 312 and the user devices 360, 362 can be implemented, forexample, using a personal area network (PAN), a local area network(LAN), a wide area network (WAN), a Virtual Private Network (VPN), theInternet, the Public Switched Telephone Network (PSTN), and/or similartechnologies. A PAN can be implemented, for instance, using Bluetooth®,Bluetooth® Low Energy (BTE), Wireless Universal Serial Bus (USB),ZigBee® or Infrared Data Association (IrDA). Each communication linkbetween the charging station controllers 320, 322 and the chargingstations 330-344, 340-344 can be implemented, for example, using a PAN,a LAN, a WAN, a VPN, the Internet, the PSTN, and/or similartechnologies. In some arrangements, the charging station controllers320, 322 and the charging stations 330-334, 340-344, can be configuredto communicate over the electrical power wiring between the chargingstation controllers 320, 322 and the charging stations 330-334, 340-344using powerline communication. For example, the charging stationcontrollers 320, 322 and the charging stations 330-345 each can include,or otherwise be communicatively coupled to, a powerline network adapter.

In a non-limiting arrangement, the charging station controllers 320, 322can components of the transaction servers 310, 312 or co-located withthe transaction servers 310, 312. In such an arrangement, externalcommunication links between the transaction servers 310, 312 and thecharging station controllers 320, 322 need not be established. Instead,the charging stations 330-334 can establish communication links with thetransaction server 310 and the charging stations 340-344 can establishcommunication links with the transaction server 312. For example,communication links between the transaction servers 310, 312 and thecharging stations 330-334, 340-344 can be implemented, for example,using PANs, LANs, WANs, VPNs, the Internet, the PSTN, and/or similartechnologies.

By way of example, a transaction server 310 can be configured to monitorpurchase transactions made via one or more POS terminals 350 for aparticular facility (e.g., business location). Similarly, a transactionserver 312 can be configured to monitor purchase transactions made viaone or more POS terminals 352 for another particular facility. In anexample, a business may maintain a transaction server 310 at each of aplurality of facilities, in which case a transaction server 310 cancommunicate with one or more charging station controller(s) 320 and oneor more POS terminals 350 located at the same facility. In anotherexample, a business may maintain one or more centrally locatedtransaction servers 310 with which charging station controllers 320 andPOS terminals 350 deployed at a plurality of facilities communicate. Ifthe charging station controller 320 is a component of the transactionserver 310 or co-located with the transaction server 310, thetransaction server 310 can communicate with the charging stations330-334 and the POS terminals 350, regardless whether the transactionserver 310 is remotely located or located at a facility where the POSterminals 350 and charging stations 330-334 reside.

In operation, a customer can initiate an in-store transaction, such as apurchase transaction at a facility, such as a coffee shop, cafe,restaurant, arena, movie theater, mall, etc. In an arrangement, thecustomer can pay for the transaction using a user device 360, such as asmart phone, tablet computer, smart watch, smart glasses, or the like.For example, the customer can launch a mobile application that presentsa barcode, quick response (QR) code, or the like which is scanned at thePOS terminal 350 to make payment for the in-store transaction. Inresponse, the POS terminal 350, or the transaction server 310 based indata received from the POS terminal 350, can determine from the barcode, QR code, etc. a user ID (user ID) assigned to the customer andcreate a data record in a database indicating a purchase amount of thein-store transaction. In another example, the customer can pay for thein-store transaction with the user device 360 using a near fieldcommunication (NFC) payment. In response, the POS terminal 350, or thetransaction server 310 based in data received from the POS terminal 350,can determine from data transferred during the NFC payment the user IDassigned to the customer and create a data record in a databaseindicating a purchase amount of the in-store transaction. In anotherexample, the customer can pay for the in-store transaction using cash,credit card or debit card. If using cash, credit card or debit card, thecustomer can provide to a store clerk a user ID, which the store clerkcan enter into the POS terminal 305, or the customer enter the user IDvia a touchscreen or keypad of the POS terminal 350. In response, thePOS terminal 350, or the transaction server 310, can create a datarecord in a database indicating a purchase amount of the in-storetransaction for that user ID. Still, the purchase amount and user ID canbe determined and stored to a computer-readable storage medium in anysuitable manner, and the present arrangements are not limited in thisregard.

In one or more arrangements, the user ID can be stored in a user profilefor the customer accessible by the transaction servers 310, 312. Forexample, the user profile can be stored to one or more computer readablestorage mediums in the cloud computing environment 50, such as in adatabase managed by one or more servers. The customer's user profilealso can include, for example, one or more passwords, one or morepasscodes, a listing of user devices used by the customer, instantmessaging address (e.g., telephone number), e-mail address, etc. Thelisting of user devices can include, for example, a device identifierassigned to each of the customer's user devices, for example a mediaaccess control (MAC) address of each of the customer's user devices, aname assigned to each of the customer's user devices, a make and modelof each of the customer's user devices, user device configurations(e.g., type of processor, type of GPU, amount of RAM, amount of datastorage, type of data storage, and so on), etc. The customer can createand update the customer's user profile via the user portal 83 (FIG. 1 )using a mobile application or web browser on a user device to connect toa user experience 96 (FIG. 1 ) application in the cloud computingenvironment 50. In illustration, each time the customer accesses theuser experience 96 application, the mobile application or web browsercan communicate to the user experience 96 the identifier of the userdevice 360 being used to connect to the user experience 96 application.The user experience 96 application can determine whether that userdevice 360 is already listed in the customer's user profile. If not, viathe mobile application or web browser, the user experience 96application can prompt the customer to choose whether to associate thatparticular user device 360 with the customer. If the customer chooses inthe affirmative, the user experience 96 application can add that userdevice 360 to the customer's listing of user devices.

Based on the in-store transaction, the transaction server 310 can assignto the customer, for example to the customer's user ID, power chargingcredits. For example, the transaction server 310 can assign powercharging credits based on the purchase amount, a frequency of purchasesmade by the customer with that store and/or an enterprise associatedwith the store, a promotion applied for the user purchasing one or morecertain items, and so on. The customer may use the power chargingcredits to charge one or more of the customer's user devices 360 usingone or more of the charging stations 330-334, 340-344 at the facilityand other facilities. The power charging credits may be assigned to thecustomer's user profile and/or the customer's user account with theestablishment. Via a mobile application, or web browser, a customer mayaccess his/her user profile to view their available power chargingcredits, their power charging credit usage information, energyconsumption quotas (e.g., an amount of time or energy consumptionavailable to the user for the current day), and other user profileinformation. A customer also may transfer at least a portion of theirpower charging credits to one or more other users.

In illustration, responsive to the customer's in-store transaction,using the customer's user ID the transaction server 310 can access thecustomer's user profile and obtain the listing of identifiers for thecustomer's user devices 360. Using those identifiers, the transactionserver 310 can monitor a network (e.g., a LAN or PAN) of the store toidentify a connection to the network by one or more of the customer'suser devices 360. Further, the transaction server 310 can track thephysical location and movement of the customer's user devices 360 in thefacility, for example using beacons 370 or another suitable indoorpositioning system. By way of example, the network can include aplurality of beacons 370 that detect WiFi® communication signalsgenerated by user devices 360 and determine physical location andmovement within the store using triangulation, trilateration, or thelike. In another example, the network can include an indoor positioningsystem that detect PAN communication signals generated by user devices360 and determine physical location and movement within the store usingtriangulation, trilateration, or the like.

Tracking the physical location and movement of the customer's userdevices 360 in the facility, the transaction server 310 can track a pathof the customer with respect to locations of a plurality of chargingstations 330-334 at the facility. Further, the transaction server 310can determine whether the customer stops or pauses near at least onecharging station 330-334 for at least a threshold period of time (e.g.,at least three seconds, five seconds, ten seconds, etc.) that ispresently available for use (i.e., not currently being used to chargeother user devices). In this regard, the transaction server 310 canstore, or otherwise access, data indicating the physical location ofeach of the charging stations 330-334 within the facility and comparethe customer's physical location to that data. Further, the transactionserver 310 can query the charging station controller 320 to determinewhich charging stations 330-334 are currently available. The transactionserver 310 can select from among the charging stations 330-334 thatcurrently are available the charging station 330 that is physicallylocated nearest to the customer's physical location and activate theselected charging station 330 to provide power via one or more poweroutlets, one or more power charging ports and/or one or more wirelesschargers.

The transaction server 310 can activate the charging station 330 bycommunicating to the charging station controller 320 a command toactivate the charging station 330. In response, the charging stationcontroller 320 can communicate a command to the charging station 330 toactivate. In response, the charging station 330 can turn on power to theone or more power outlets, one or more power charging ports, and/or oneor more wireless chargers, for example using one or more relays or othercomponents suitable for this purpose. In this regard, activation of thecharging station 330 can configure the charging station 330 to turn onone or more power outlets, one or more charging ports and/or one or morewireless chargers. The transaction server 310 can activate the chargingstations 331-334 in a similar manner.

In an arrangement in which electrical wiring providing power to thecharging station 330 for charging user devices 360 is connected to thecharging station controller 320, responsive to receiving an activationcommand from the transaction server 310 to activate the charging station330, the charging station controller 320 can activate the chargingstation 330 by turning on power to the electrical wiring, for exampleusing a relay. Turning on the power to the electrical wiring can turn onpower to the one or more power outlets, one or more power chargingports, and/or one or more wireless chargers. In an arrangement in whichthe charging station 330 does not include an additional power source toprovide power to one or more other components of the power chargingstation 330 (e.g., processors, sensors, image capture devices, etc.),turning on the power to the electrical wiring can turn on those othercomponents. The transaction server 310 can activate the chargingstations 331-334 in a similar manner.

In one or more arrangements, the transaction server 310 can alert thecustomer as to which charging station 330 is assigned to the customer.For example, each of the charging stations can be labeled with acharging station identifier (e.g., one or more numbers, letters and/orsymbols), and the transaction server 310 can communicate the chargingstation identifier to a mobile application, or web browser executing onthe user device 360 accessing a web-based application to which thetransaction server 310 has elevated access, an instant messaging addressof the customer, or an e-mail address of the customer. The instantmessage address and e-mail address can be indicated in the customer'suser profile. In another example, each charging station 330-334 caninclude at least one visible indicator, for example one or more lights(e.g., LEDs). The transaction server 310 can communicate to the chargingstation controller 320 a command to activate the visible indicator onthe selected charging station 330 (e.g., illuminate one or more LEDs).In response, the charging station controller 320 can communicate acommand to the charging station 330 causing the charging station 330 toactivate the visible indicator. The charging station controller 320and/or the charging station 330 can be configured to keep the visibleindicator active until the charging station 330 detects power draw fromthe charging station 330, which indicates a user device 360 has beencoupled to the charging station 330 for charging, and/or keep thevisible indicator active for a threshold period of time.

In some instances, there may not be any charging stations 330-334 thatare currently available. In response to detecting such circumstance, thetransaction server 310 can add the customer to a waiting list andcommunicate an alert to the customer's user device indicating that thecustomer has been added to a waiting list and will be alerted when acharging station 330-334 becomes available. The transaction server 310can monitor the charging stations 330-334 to determine when a chargingstation becomes available. In illustration, the transaction candetermine when a charging station 330 no longer is being used to chargeuser devices 360 and there is no longer a customer within a thresholddistance of the charging station 330. In response, the transactionserver 310 can select a customer at the top of the waiting list andcommunicate an alert to that customer indicating a charging stationcurrently is available for that customer. The transaction server alsocan indicate to the customer where the charging station 330 is located,for example as previously described.

In one or more arrangements, one or more of the customer's user devices360 can communicate to the charging station 330 the user ID of thecustomer. For example, responsive to a user device 360 being coupled toa charging port (e.g., USB port, Lightening port, etc.) of the chargingstation 310, via the charging port the user device 360 can communicateto the charging station 310 the device identifier assigned to the userdevice 360. In response, the charging station 330 can communicate thatdevice identifier to the charging station controller 320. In response,the charging station controller 320 can communicate that deviceidentifier to the transaction server 310. The transaction server 310 canquery the database of user profiles to determine the user ID of thecustomer to whom the user device 360 is assigned.

In another example, in lieu of, or in addition to, communicating thedevice identifier, the user device 360 can communicate the user ID forthe customer to the charging station 330, which can communicate thatuser ID to the transaction server 310. For example, a mobile applicationon the user device 360, or a web browser on the user device 360accessing a web-based application, can communicate the user ID to thecharging station 330. In response, the charging station 330 cancommunicate that user ID to the charging station controller 320. Inresponse, the charging station controller 320 can communicate that userID to the transaction server 310.

In some examples, the user device 360 can communicate the deviceidentifier and/or user ID to the charging station 330 via a PAN. Forinstance, if the user device 360 has Bluetooth® enabled, the customercan pair the user device 360 with the charging station 330 andcommunicate the device identifier and/or user ID to the charging station330 via Bluetooth® or BTE. Regardless of the method used to communicatethe device identifier and/or user ID, the charging station 330 cancommunicate the device identifier and/or user ID to the charging stationcontroller 320. In response, the charging station controller 320 cancommunicate the device identifier and/or user ID to the transactionserver 310.

In some examples, the user device 360 can communicate the deviceidentifier and/or user ID to the charging station 330 via the poweroutlet in an arrangement in which the charging station 330 is configuredto receive data via the power outlet, for example using a powerlinecommunication. In illustration, the user device 360 can be configured tocommunicate data using powerline communication. For instance, the userdevice 360 can include, or otherwise be coupled to, a powerline networkadapter, and the charging station 330 can include a powerline networkadapter. In an arrangement in which the user device 360 is coupled to anexternal powerline network adapter, the user device 360 can couple tothe external powerline network adapter using an ethernet cable, usingWiFi®, using a PAN, etc.

Responsive to the charging station 330 detecting power draw from thecharging station 330 commencing, the charging station 330 cancommunicate to the charging station controller 320 an indicatorindicating that the charging station 330 is in use. In response, thecharging station controller 320 can communicate an indicator to thetransaction server 310 indicating that the charging station 330 is inuse. In response, the transaction server 310 can begin timing the amountof time the customer uses the charging station 330. Responsive to thecharging station 330 detecting power draw from the charging station 330ceasing, the charging station 330 can communicate to the chargingstation controller 320 an indicator indicating that the power draw fromthe charging station 330 has ceased. In response, the charging stationcontroller 320 can communicate an indicator to the transaction server310 indicating that the power draw from the charging station 330 hasceased. In response, the transaction server 310 can stop timing theamount of time the customer uses the charging station 330. In thisregard, the transaction server 310 can monitor and determine the amountof time various customers use various charging stations 330-334.

In addition to, or in lieu of, tracking the amount of time customers usethe charging stations 330-334, the transaction server 310 also canmonitor and determine the amount of power consumed by the customers userdevices 360. In illustration, one or more of the charging stations330-334 can include a power sensor that measures power consumption.While the customer uses the charging station 330, the charging station330 can monitor data generated by the power sensor to determine arunning total of energy consumption by the customer's user devices 360.The charging station 330 can communicate the running total of energyconsumption to the charging station controller 320, which cancommunicate the running total of energy consumption to the transactionserver. In this regard, the transaction server 310 can determine theenergy consumption by various customers using various charging stations330-334.

In another example, the transaction server 310 can store, otherotherwise access, one or more data tables including records thatindicate a level of energy consumption (e.g., an average level of energyconsumption) for numerous different models of user devices 360. The datatables also may provide further granularity, for example indicating alevel of energy consumption for particular configurations of variousdifferent models of user devices 360. The transaction server 310 candetermine the amount of energy consumption for user devices 360 based ontheir level of energy consumption and the amount of time they arecoupled to the charging stations 330-334. In illustration, responsive tobeing coupled to the charging station 330, the user devices 360 cancommunicate to the transaction server 310, either directly or via thecharging station 330 and charging station controller 320, its MACaddresses and/or make and model information. If the user device 360communicates its MAC address, the transaction server 310 can determinethe make and model of the user device 360 using the customer's userprofile, which may list the MAC address of each of the customer's userdevices 360, or in any other suitable manner. The transaction server 310can determine the energy consumption total by, for each of thecustomer's user devices 360 coupled to the charging station 330,multiplying the amount of time the user device 360 is coupled to thecharging station 330 and the level of energy consumption indicated forthat user device 360. Further, the transaction server 310 also canmonitor a running total of the energy consumption by the user devices360 based on the amount of time the user devices 360 are being chargedand their levels of energy consumption.

The transaction server 310 can continue to monitor the physical locationof the customer in the facility. Responsive to detecting the customermoving away from the charging station 330 by at least a thresholddistance, or responsive to detecting the customer leaving the facility,after power draw from the charging station 330 has ceased, thetransaction server 310 can deactivate the charging station 330 bycommunicating to the charging station controller 320 a command todeactivate the charging station 330. In response, the charging stationcontroller 320 can communicate a command to the charging station 330 todeactivate. Deactivation of the charging station 330 configures thecharging station 330 to turn off one or more power outlets, one or morecharging ports and/or one or more wireless chargers. The transactionserver 310 can deactivate the charging stations 331-334 in a similarmanner.

In an arrangement in which electrical wiring providing power to thecharging station 330 for charging user devices 360 is connected to thecharging station controller 320, responsive to receiving a deactivationcommand from the transaction server 310 to deactivate the chargingstation 330, the charging station controller 320 can deactivate thecharging station 330 by turning off power to the electrical wiring, forexample using a relay. Turning off the power to the electrical wiringcan turn off power to the one or more power outlets, one or more powercharging ports, and/or one or more wireless chargers. In an arrangementin which the charging station 330 does not include an additional powersource to provide power to one or more other components of the powercharging station 330 (e.g., processors, sensors, image capture devices,etc.), turning off the power to the electrical wiring can turn off thoseother components. The transaction server 310 can deactivate the chargingstations 331-334 in a similar manner.

Further, the transaction server 310 can deduct from the customer's powercharging credits a number of power charging credits determine based onthe amount of time the customer used the charging station 330 to chargethe user device(s) 360, the amount of power provided by the chargingstation 330 to charge the user device(s) 360 and/or the number of userdevice(s) to which the charging station 330 provided power. In anexample, the transaction server 310 can deduct power charging credits inreal time as the customer continues to use the charging station 330, forexample at a certain rate based on time, energy consumption and/ornumber of user devices 360 being charged. In another example, thetransaction server 310 can deduct power charging credits responsive tothe charging station 330 being deactivated.

In one or more arrangements, the transaction server 310 can continuallymonitor the amount of time customers use charging stations 330-334and/or the amount of energy consumption used by customers' user devices360, and implement actions based on the amount of time and/or energyconsumption. For example, responsive to the amount of time the customeruses the charging station 330 exceeding one or more time thresholdvalues and/or responsive to the amount of energy consumption by thecustomer's user device(s) 160 exceeding one or more power thresholdvalues, the transaction server 310 can implement one or more actions.

In illustration, the transaction server 310 can determine a first timethreshold value based on the amount of power charging credits assignedto the customer's user profile and/or the customer's user account. Inone or more examples, each power charging credit can equate to aparticular duration of time, and the first time threshold can bedetermined by multiplying the number of power charging credits by theparticular duration of time (e.g., CC×T, where CC=the number of chargingcredits and T=the particular duration of time). In one or more examples,the first time threshold can be determined by multiplying the number ofpower charging credits by the particular duration of time and dividingby the number of the customer's user devices 360 being charged (e.g.,(CC×T)/N, where CC=the number charging credits, T=the particularduration of time and N=the number of user devices being charged). Thetransaction server 310 can determine a second time threshold value basedon the first time threshold. For example, the second time threshold canbe a time that is fifteen minutes prior to the first time threshold.

Similarly, the transaction server 310 can determine a first energyconsumption threshold value based on the amount of power chargingcredits assigned to the customer's user profile and/or the customer'suser account. For instance, each power charging credit can equate to aparticular amount of energy consumption, and the first energyconsumption threshold can be determined by multiplying the number ofpower charging credits by the particular amount of energy consumption(e.g., CC×P, where CC=the charging credits and P=the amount of energyconsumption). The transaction server 310 can determine a second energyconsumption threshold value based on the first energy consumptionthreshold. For example, the second energy consumption threshold can bean energy consumption that is eighty-five percent of the first energyconsumption threshold value.

Responsive to the transaction server 310 determining the amount of timethe customer has used the charging station 330 exceeding the second timethreshold value and/or responsive to the transaction server 310determining the energy consumption by the customer's user device(s) 360from the charging station 330 exceeding the second energy consumptionthreshold value, the transaction server 310 can generate an alert forpresentation to the customer indicating that the amount of availabletime and/or available energy consumption remaining for that customer islow. By way of example, the transaction server 310 can communicate analert to a mobile application or web-based application open by the userdevice 360, and the mobile application or web-based application canpresent the alert to the user. For instance, the transaction server 310can communicate the alert to the charge station controller 320, whichcan communicate the alert to the charging station 330. The chargingstation 330 can communicate the alert to the user device 360 via thecharging port, power outlet and/or PAN previously described. In anotherexample, for example in an arrangement in which a user device 360 iscoupled to a network (e.g., a WiFi® network) of the facility, thetransaction server 310 can communicate the alert to the mobileapplication or web-based application via the network. In yet anotherexample, the transaction server 310 can communicate the alert to thecustomer's instant messaging address or e-mail address.

Responsive to the transaction server 310 determining the amount of timethe customer has used the charging station 330 exceeding the first timethreshold value and/or responsive to the transaction server 310determining the energy consumption by the customer's user device(s) fromthe charging station 330 exceeding the first energy consumptionthreshold value, the transaction server 310 can generate another alertfor presentation to the customer indicating that the amount of availabletime and/or available energy consumption remaining for that customer hasbeen reached. Further, the transaction server 310 can automaticallydeactivate the charging station 330 immediately or after apre-determined threshold of time, for example five minutes, thus ceasingdelivery of power from the charging station 330. In another example, thetransaction server 310 can cause the charging station 330 to reduce theamount of power being provided by the charging station 330 to operateand/or charge the customer's user device(s) 360. For instance, thetransaction server 310 can communicate to the charging stationcontroller 320 a command to reduce the amount of current being deliveredto the charging station 330. In an arrangement in which power deliveredto the charging station 330 is provided via the charging stationcontroller 320, in response the charging station controller 320 canreduce the amount of power being delivered to the charging station 330.Otherwise the charging station controller 320 can communicate a commandto the charging station 330 to reduce its power output. For example, thecharging station 330 can include a current limiting device configured toreduce the amount of current provided for charging upon command.

In one or more arrangements, one or more of the alerts presented to thecustomer can provide the customer with opportunity to purchaseadditional power charging credits and/or gain more credits by makinganother purchase transaction. For example, an alert can include a linkto a web application where the customer can purchase addition powercharging credits via the mobile application or web-based application. Inone or more arrangements, one or more of the alerts can present acoupon, offer, or other information which the customer may redeem, forexample with a clerk and/or at a POS terminal 350, to purchase items,purchase additional power charging credits, etc.

In one or more arrangement, one or more visible indicators on thecharging station 330 can be activated to indicate the first timethreshold or the second time threshold, and/or the first power chargingthreshold or the second power charging threshold, has been reached. Inillustration, next to a first LED the charging station 330 can displaytext indicating less than a certain amount of charging time remains,next to a second LED the charging station 330 can display textindicating no amount of charging time remains, next to a third LED thecharging station 330 can display text indicating less than a certainamount of energy consumption remains, and next to a second LED thecharging station 330 can display text indicating no amount of energyconsumption remains. In one or more examples, the charging station 330can include a display that indicates the amount of time and/or amount ofpower remaining. The display also can indicate when various timethresholds and/or energy consumption thresholds have been met.

In one or more arrangements, the number of user devices 360 customersmay charge via the charging stations 330-334, 340-344, can be limited toa threshold number of user devices 360 (e.g., one, two, three or four).The threshold number of user devices 360 can be a pre-set value, can bedetermined based on the number of power charging credits assigned to thecustomers, or can be determined based on customer user profiles. Forexample, a user profile for the customer can indicate a membershiplevel, and the number of user devices 360 the user may charge at anyparticular time can be based on that membership level. The transactionserver 310 can assign to the customer a membership level based on, forexample, the customer's purchase activity with the business and/or otherbusinesses participating in power charging credit sharing over athreshold period of time, for example over the last week, over the lastmonth, over the last year, etc.

In one or more arrangements, the user devices 360 can communicate to thetransaction server 310, either directly or via the charging stations330-334 and charging station controller 320, the battery charge level ofthe user devices 360. In illustration, via a mobile application or a webbrowser accessing a web-based application the user device 360 cancontinually or periodically communicate to the transaction server 310the present charge level of the battery of the user device. In anon-limiting example, the transaction server can cause the chargingstation 330 to stop charging the user device 360 or reducing thecharging power provided to the user device 360 responsive to the chargelevel reaching a threshold value, for example, 90%, 95% or 100%. Inillustration, the transaction server 310 can communicate a command tothe charging station 330 via the charging station controller 320.

In one or more arrangements, the user devices 360 can communicate to thetransaction server 310, either directly or via the charging stations330-334 and charging station controller 320, a rate of energyconsumption by the user devices 360 and/or types of customer activity onthe user devices 360. In one or more arrangements, the charging stations330-334 can communicate to the transaction server 110, for example viathe charging station controller 320, a rate of energy consumption by theuser devices 360. Based on the rate of energy consumption for individualuser devices, the transaction server 310 can determine a type ofcustomer activity on the user devices 360. In illustration, thetransaction server 310 can access an artificial intelligence (AI)computing system that uses machine learning to predict types of useractivities on user devices 360 based on energy consumption. Inillustration, a particular user device 360 may consume power at a firstrate while being used for web browsing, consume power at a second ratewhile being used for word processing, consume power at a third ratewhile being used to play videos, consume power at a fourth rate whilebeing used to play games, and so on. Using machine learning the AIsystem can determine typical energy consumption for particular userdevice models/hardware configurations based on training data.

In one or more arrangements, the transaction sever 310 can limit theavailability of use of the charging stations 330-334 to user devices 360that are not being used for certain activities. In illustration, atransaction server 310 for a movie theater may be configured to notallow the charging stations 330-334 to be used to charge user devices360 that are being used to present videos (e.g., movies). For example,in response to determining that a user device 360 is being used to playvideos (e.g., based on the energy consumption and/or data received fromthe user device 360), the transaction server 310 can command thecharging station 330 to stop providing power to the user device 360 orto reduce the amount of current being supplied to the user device 360.Further, the transaction server 310 can communicate to the user device360 an alert, for example as previously described, that is presented tothe customer indicating that the type of activity the user device 360 isbeing used for is not permitted in that facility and requesting that thecustomer cease performing that activity. In another example, the alertcan request that the customer reduce the energy consumption by the userdevice 360. The transaction sever 310 can wait for a threshold period oftime, continuing to monitor the customer activity on the user device360, and refrain from ceasing or reducing power delivery to the userdevice 360 if the customer stops using the user device 360 for thenon-permitted activity, or otherwise reduces energy consumption by theuser device 360, for example by stopping video playback.

In one or more arrangements, power charging credits also can be used bycustomers to access and use power charging lockers. For example, one ormore of the charging stations 330-334, 340-344, can be components ofcharging lockers. In illustration, the charging station 334 can be acomponent of a charging locker 380. Using the user device 360, forexample a mobile application executing on the user device 360 or a webbrowser executing on the user device 360 that accesses a web-basedapplication, the customer can request access to a charging locker 380.In another example, the user can use a kiosk 382 that is communicativelylinked to the transaction server 310 to request access to the charginglocker 380. If the customer does not have enough power charging creditsrequired to have access to a charging locker, the mobile application,web-based application, or kiosk 382 can provide the customer anopportunity to purchase charging credits. Assuming the customer hasenough, or has purchased enough, charging credits the transaction server310 or the kiosk 382 can present to the customer an identifier (e.g.,locker number) for the charging locker 380 and provide to the customeraccess to the charging locker 380. The kiosk 382, for example, canmanage a charging station controller 320 for the charging locker380/charging station 334.

By way of example, the transaction server 310 can communicate to theuser device 360 a code to be presented by the user device 360 to theuser, or the kiosk 382 can present the code to the user via a display orprintout (e.g., ticket). The user may enter the code into a keypad ortouch screen of the charging locker 380 to open the charging locker. Inanother example, the transaction server 310 or kiosk 382 can communicateto the user device 360 a visible code (e.g., a bar code or QR code), orthe kiosk 382 can print the visible code for the user. In an arrangementin which the kiosk 382 communicates the visible code, the kiosk 382 canobtain the customer's e-mail address or instant messaging address fromthe transaction server 310.

The customer can present the visible code to a scanner of the charginglocker 380 to open the charging locker. In illustration, the transactionserver 310 or kiosk 382 can communicate the code or visible code to thecharging locker 380, for example via the charging station controller320, and the charging locker 380 can compare that code or visible codeit receives to the code or visible code entered or presented by thecustomer. If the codes or visible codes match, the charging locker 380can open. The customer can place his/her user device(s) 360 in thecharging locker 380 to be charged by coupling the user device(s) 360 toone or more outlets, charging ports and/or wireless chargers of thecharging station 334. The customer can use the same code or visible codeto open the charging locker 380 to remove his/her user device(s) 360.

In another example, the transaction server 310 can access an image ofthe customer (e.g., the customer's face) or a fingerprint of thecustomer from the customer's user profile, or the kiosk 382 can capturean image of the customer or a fingerprint of the customer while thecustomer is at the kiosk. Further, a camera of the charging locker 380can capture an image of the customer, or a fingerprint scanner of thecharging locker can capture an image of the customer's finger pad, forexample in response to the customer selecting a key or menu itempresented by the charging station, and the charging locker 380 cancommunicate the captured image to the transaction server 310 or thekiosk 382. In an arrangement, the customer can interact with thecharging locker 380, for example via a keypad or touchscreen, toinitiate the image capture. In another arrangement, the charging locker380 can monitor for users within a threshold distance, for example asdetected by a proximity sensor of the charging locker 380, andautomatically capture the image of a user responsive to detecting theuser within the threshold distance. In another arrangement, the cameracan continually detect images and the charging locker 380 can select animage in which a face is at least a threshold size in an image.

The transaction server 310 or kiosk 382 can perform image recognition(e.g., facial recognition) on the captured image of the user and compareresults of the image recognition to the image of the customer containedin the user profile or the image captured by the kiosk 382, or thetransaction server 310 or kiosk 382 can compare data from thefingerprint scanner to the fingerprint of the customer contained in theuser profile or captured by the kiosk 382. Responsive to the capturedimage of the user matching the image contained in the user profile orthe image captured by the kiosk 382, or the fingerprint scan matchingthe fingerprint in the customer's user profile or captured by the kiosk382, the transaction server 310 or kiosk 382 can communicate a commandto the charging locker 380, for example via the charging stationcontroller 320, that causes the charging locker 380 to open.

In another arrangement, the charging locker 380 can request from thetransaction server 310 or the kiosk 382 the image of the customer or thefingerprint of the customer contained in the customer's user profile orcaptured by the kiosk 382. In such arrangement, the charging locker 380can perform the image recognition on the captured image of the user andcompare results of the image recognition to the accessed image of thecustomer, or the charging locker 380 can compare data from thefingerprint scanner to the fingerprint of the customer. Responsive tothe captured image of the user matching the image in the customer's userprofile or captured by the kiosk 382, or the fingerprint scan matchingthe fingerprint in the customer's profile or captured by the kiosk 382,the charging locker 380 can automatically open.

In an arrangement in which the charging locker 380 automaticallycaptures the customer's image, the charging locker 380 can automaticallyopen without the customer needing to touch a keypad or touchscreen.Again, the customer can place his/her user device(s) 360 in the charginglocker 380 to be charged using one or more outlets, charging ports orwireless charging. The customer can initiate the charging locker 380 toscan the customer's image or fingerprint to open the charging locker 380to remove his/her user device(s).

In one or more arrangements the charging stations 330-334 can bedistributed around a facility, for example a mall, an amusement park, anarena, etc. Via a mobile application or a web browser executing on auser device 360, a customer can access a map that indicates where thecharging stations 330-334. The map also can indicate which chargingstations 330-334 currently are available. The map can be provided, forexample, by the transaction server 310, which the customer can accessvia the mobile application or web browser. If there are chargingstations 330-334 currently available, via the mobile application or webbrowser the customer can request to be added to a waiting list. Thetransaction server 310 can communicate an alert the user device 360 ofthe customer when a charging station 330 becomes available, for exampleas previously described. Further, the alert can present the map andindicate to the map where the available charging station 330 is located.

As noted, the transaction server 310 can track the customer's locationvia the beacons 370. In one or more arrangements, the user device 360can communicate to the transaction server 310 the user device's globalpositioning system (GPS) coordinates, and the transaction server 310 canidentify the customer's location using the GPS coordinates. In one ormore arrangements, the transaction server 310 can identify thecustomer's location by accessing coordinates of the user device 360provided by the customer's mobile communications provider based onperforming triangulation or trilateration of mobile communicationsignals (e.g., cellular communication signals) communicated by the userdevice 360. Having knowledge of the customer's location, the transactionserver 310 can indicate in the map the customer's location on the mapand one or more routes for the customer to get to the charging station330.

In one or more arrangements, the transaction server 310 can communicateto the user device 360 an alert presenting one or more coupons, offers,etc. for one or more establishments located within a threshold distanceof one or more of the charging stations 330-334, or for establishmentsin which the charging stations 330-334 are located. This can serve togenerate business for such establishments.

In one or more arrangements, in addition to tracking the customer'slocation, the transaction server 310 can monitor the battery level(s) ofthe customer's user device(s) 360. For example, a mobile application ona user device 360 can be configured to communicate battery levelinformation to the transaction server 310. Responsive to the transactionserver 310 determining that the battery level is below a thresholdvalue, the transaction server 310 can identify, from among the chargingstations 330-334 that are currently available, a charging station 330that is closest to the customer's current location. Further, thetransaction server 310 can communicate an alert, for example aspreviously described, indicating to the user that the battery level isbelow the threshold value and that the charging station 330 currently isavailable. The alert also can present a map indicating where thecharging station 330 is located, the customer's present location, andone or more routes for the customer to get to the charging station 330.Again, the one or more coupons, offers, etc. for one or moreestablishments within a threshold distance of the charging station, oran establishment in which the charging station 330 is located.

The foregoing arrangements and examples assume customer authorization toparticipate in the various processes. For example, via a mobileapplication or web-based application, the customer can opt in or opt outof various processes, such as location tracking, monitoring and/ortracking of certain customer activities, etc. Moreover, it isanticipated that customers will take affirmative actions via the mobileapplication or web-based application to create a user account andparticipate in the power charging program.

In one or more arrangements, the transaction server 310 can assign thepower charging credits to the customer, or deduct power charging creditsused by the customer, using a distributed ledger, for exampleblockchains. In illustration, the transaction server 310 can create oneor more blockchain blocks 390 indicating the assignment of the powercharging credits to the customer or deduction of power charging creditsfrom the customer. For instance, the transaction server 310 can create ablockchain block 390 including the customer's user ID, the customer'spasscode/password, the power charging credits earned by the customer forthe in-store transaction, and the power charging credits used by thecustomer, if any. Optionally, the transaction server 310 also caninclude in the block 390 additional information, for example dataindicating a power charging blockchain 392 to which the block 390 isassigned, data indicating a duration of time for which the powercharging credits remain available, data indicating a maximum amount oftime one or more user devices 360 may be charged in a particular timeperiod (e.g., per hour, per day, per week, etc.), data indicating adate/time when the power charging credits expire, data indicating userdevices 360 for which the power charging credits may be used to charge,data indicating whether the power charging credits are transferable toother users, data indicating a membership level, data indicating anumber of user devices that may be simultaneously charged, dataindicating make, model, configuration, etc. of one or more of thecustomer's user devices, data indicating the customer's usage ofcharging stations 330-334, data indicating an instant messaging addressand/or e-mail address of the customer, data indicating the customer'sdetermined activities while using one or more charging stations 330-334,a link to the customer's user profile, and so on. Once created, theblockchain block 390 can be read-only and immutable. This can serve tomake transactions recorded in the power charging blockchain 392immutable and secure from tampering.

The transaction server 310 can communicate, via the cloud computingenvironment 50 or simply via the Internet, the block 390 to one or moreother transaction servers 312 (or other data processing systems)participating in the power charging blockchain 392 to which the block390 is assigned. For example, if a store is part of a franchise havingnumerous store locations and a plurality of transaction servers 310,312, the transaction server 310 can communicate the block 390 to each ofthe other transaction servers 312. In another example the store,regardless of whether it is part of a franchise, may be part of anagreement allowing for power charging credits that the store issues tobe used at other stores and facilities, and for power charging creditsthat other stores issue to be used at the store. Thus, the store andeach of the other stores/facilities can participate in the powercharging blockchain 392. In such an arrangement, the transaction server310 can communicate the block 390 to transaction servers 312 (or otherdata processing systems) of each of the other stores/facilitiesparticipating in that power charging blockchain 392.

Responsive to the other transaction servers 312 (or other dataprocessing systems) receiving the block 390, the other transactionservers 312 (or other data processing systems) can validate the block390 and add the block 390 to their copy of the power charging blockchain392. Each of the transaction servers 310, 312 (or other data processingsystems) can synchronize their copy of the power charging blockchain 392from time to time using peer-to-peer blockchain synchronization usingknown blockchain synchronization techniques.

The use of the power charging blockchain 392 allows the customer to usehis/her power charging credits to use other charging stations 340-344and/or charging lockers 384 at other stores and facilities. For example,the customer can use his/her power charging credits at a kiosk 386 togain access to the charging locker 384, for example as previouslydescribed. Further, the customer can use his/her power charging creditsto use other charging stations 330-334 at the store, as well as chargingstations 330-334 at other stores and facilities without having to makeadditional purchases.

In illustration, the customer can use a mobile application executing onthe customer's user device 360 to communicatively link to any of thecharging stations 330-334, 340-344, and/or charging lockers 380, 384.For example, the user device 360 can link to the charging station 344 orcharging locker 384 using a PAN (e.g., Bluetooth® or BTE). In anotherexample, the user device 360 can link to the charging station 344 via acommunication cable (e.g., USB cable or Lightening cable) plugged into acharging port of the charging station 344. In an arrangement in whichthe user device 360 and charging station 344 support powerlinecommunication, the user device 360 can link to the charging station 344via powerline communication through a power outlet of the chargingstation 344.

Regardless of the type of communication link, via the communication linkthe mobile application can interface with the transaction server 312,for example via the charging station 344 or via the charging locker 384and the charging station controller 322. Using the mobile application,the customer can request charging privileges on the charging station344, or request access to the charging locker 384 and chargingprivileges on the charging station 340. For example, the mobileapplication can communicate the customer's user ID and password orpasscode to the transaction server 312. Using the customer's user ID andpassword or passcode, the transaction server 312 can access one or moreblocks 390 of in the power charging blockchain 392 that pertain to thecustomer.

The transaction server 312 can determine whether the customer hassufficient available power charging credits to use the charging station344 or charging locker 384. For example, the transaction server 312 candetermine a total of available charging credits by summing all of thepower charging credits assigned to the customer in blocks 390 of theblockchain 192, and from the sum of the power charging credits deduct asum of the power charging credits deducted from the customer in blocks390 of the blockchain 192. The power charging credits that are deductedfrom the customer can be power charging credits that have been used bythe customer or transferred by the customer to another user. Thedetermination of whether the sufficient available power charging creditsto use the charging station 344 or charging locker 384 can be based on,for example, whether the total of available charging credits for thecustomer meets or exceeds a threshold value, for example at least equalto one charging credit, two charging credits, five charging credits,etc.

If the transaction server 312 determines the customer has sufficientavailable power charging credits to use the charging station 344 orcharging locker 384, the transaction server 312 can provide chargingprivileges on the charging station 344, or access to the charging locker384 and charging privileges on the charging station 340. The transactionserver 312 and charging station controller 322 also can perform any ofthe other processes previously described as being performed by thetransaction server 310 and charging station controller 320, including,but not limited to, generating alerts, ceasing or reducing powerdelivery, deducting power charging credits based on energy consumptionand/or usage of the charging locker 384, adding additional blockchainblocks 390 for the customer to the power charging blockchain 392,communicating the additional blockchain blocks 390 to other transactionservers 310 and data processing systems participating in the powercharging blockchain 392, and so on. The additional blockchain blocks 390can include power charging credit deductions and additions, energyconsumption data, user device 360 data, customer activities while usingthe user device(s) 360, as well as any additional data that may be addedto a block, for example other data previously described.

If the transaction server 312 determines the customer does not havesufficient available power charging credits to use the charging station344 or charging locker 384, via a mobile application or web-basedapplication, the transaction server 312 can present to the customer anoffer to purchase power charging credits and/or present a recommendationfor the customer to purchase a good and/or service to earn powercharging credits, for example as previously described.

In one or more arrangements, via a mobile application or web-basedapplication, the customer can transfer at least a portion of his/herpower charging credits to one or more other users. For example, the usercan indicate the number of power charging credits to transfer and a userID of a user to whom the power charging credits are to be transferred.In response, the transaction server 310, 312 with which the applicationor web-based application is interfacing can create a new blockchainblock 390 for the power charging blockchain 392 for the customercontaining data indicating at least the user ID of the customer, theuser ID of the user to whom the power charging credits are beingtransferred, and the number of power charging credits being transferred.The new blockchain block 390 also can include other data, for exampleone or more types of other data previously described. Another blockchainblock 390 can be created for the user to whom the power charging creditsare being transferred and added for that user to the power chargingblockchain 392. For instance, the other block can indicate the user IDof the user to whom the power charging credits are being transferred,the user ID of the customer from whom the power charging credits werereceived, the number of power charging credits being transferred, etc.The other user may use the transferred power charging credits to usecharging stations 330-334, 340-344 and power charging lockers 380, 384as previously described.

In some circumstances the number of available charging stations 330-334,340-344, and/or charging lockers 380, 384 maybe scarce. Indeed, theavailability may not meet demand. Using a mobile application orweb-based application, customers/users may bid for access to thecharging stations 330-334, 340-344, and/or charging lockers 380, 384located within a threshold distance of their respective locations.Responsive to receiving a bid, the transaction server 310 can createanother blockchain block 390 indicating the user ID of the user (e.g.,customer or other user) placing the bid, the number of power chargingcredits being bid, and the current location of the user placing the bid.The transaction server 310 also may include any other pertinent data inthe new blockchain block 390. The transaction server 310 can add the newblockchain block 390 to the power charging blockchain 392 for the user,add the new blockchain 390 to the power charging blockchain 392 residingat the transaction server 310, and communicate the new blockchain 390 toother transaction servers 312 and data processing systems participatingin the power charging blockchain 392, and so on.

Further, the transaction servers 310, 312 can monitor the chargingstations 330-334, 340-344 and/or charging lockers 380, 384 foravailability, and assign available charging stations 330-334, 340-344and/or charging lockers 380, 384 to users within a threshold distancesof those charging stations 330-334, 340-344 and/or charging lockers 380,384 who have placed the highest bids. In illustration, responsive todetermining a charging station 330 is available, the transaction server310 can process the power charging blockchain 392 to determine whetherthere are any users within a threshold distance of the charging station330 that have placed a bid for use of a charging station or chargingstation 330-334, 340-344. The transaction server 310 can access an AIsystem to facilitate this process.

If there are one or more users within a threshold distance of thecharging station 330 that have placed a bid for use of a chargingstation, the transaction server 310 can select the user who placed thehighest bid and communicate an alert to that user indicating thecharging station 330 is available and the location of the chargingstation 330. For example, the transaction server can communicate thealert to a mobile application executing on the user's user device 360,an instant messaging address of the user or email address of the user.The transaction server 310 can monitor the charging station 330 forcoupling the user's user device 360 to the charging station 330. If suchcoupling is not detected within a threshold period of time, thetransaction servers 310 can select a next highest bidder and communicatean alert to that user, and so on. Responsive to detecting the usercoupling to the charging station 330, the transaction server 310 canactivate power of the charging station 330 and begin monitoring usage ofthe charging station 330 by the user, for example as previouslydescribed, and perform actions previously described to monitor powerstation usage, deduct power charging credits based on that usage, etc.If a user other than the user who won the bid couples to the chargingstation 330, the transaction server 310 can initiate the chargingstation 330 to generate an alert indicating that the charging station330 is reserved and not available, for example by rapidly flashinglights (e.g., LEDs), presenting text on a display and/or generating anaudible tone. In such case, the transaction server 110 would notactivate power delivery to the charging station 330 for the improperuser.

In one or more arrangements, users may bid on a certain amount of usage,for example time, energy consumption, number of user devices 360 to becharged, etc. Upon expiration of the time and/or the energy consumptionlimit being reached, the transaction server 310 can communicate an alertto the user device 360 of the user, for example as previously described,alerting the user that the time and/or the energy consumption limit hasbeen reached. Optionally, the alert can indicate additional time and/orenergy consumption that may be provided using available power chargingcredits of the user and/or offering the user to purchase additionalpower charging credits. In one or more arrangements, the transactionserver 310 can access an AI system that determines the number of powercharging credits to charge the user based on various industry models andpast data.

In one or more arrangements, as a user moves the transaction server 310can generate additional blockchain blocks 390 for the user, for exampleat a periodic interval (e.g., every minute, every five minutes, everyten minutes, etc.), add the additional blockchain blocks 390 to thepower charging blockchain 392 residing at the transaction server 310,and communicate the additional blockchain blocks 390 to othertransaction servers 312 and other data processing systems participatingin the power charging blockchain 392. Accordingly, if the user ismoving, the user's bid will be applied to an available charging stationor charging locker 380, 384 within a threshold distance of the user'scurrent location.

FIG. 4 is a block diagram illustrating example architecture for thecharging station 330. The charging stations 331-3334, 340-344 can beconfigured in a similar manner.

The charging station 330 can include a processor 402 (e.g., centralprocessing unit, controller, application specific integrated circuit,etc.) coupled to memory elements 404 through a system bus or othersuitable circuitry. As such, the charging station 330 can store programcode within the memory elements 404. The processor 402 can execute theprogram code accessed from the memory elements 404 via the system bus.The memory elements 404 can include, for example, local memory and oneor more bulk storage devices. Local memory refers to random accessmemory (RAM) or other non-persistent memory device(s) generally usedduring actual execution of the program code. The bulk storage device(s)can be implemented as a hard disk drive (HDD), solid state drive (SSD),or other persistent data storage device. The charging station 330 alsocan include one or more cache memories (not shown) that providetemporary storage of at least some program code in order to reduce thenumber of times program code must be retrieved from the local memoryand/or bulk storage device during execution.

The charging station 330 also can include one or more power chargingports 410, one or more power outlets 412 and/or one or more wirelesschargers 414. Examples of the power charging ports 410 include, but arenot limited to, USB ports, Lightening ports, IEEE 1394 (FireWire) ports,and the like. The power outlet 412 can include a power socket configuredto receive a conventional AC power plug. The wireless charger 414 canbe, for example, an inductive charger comprising an induction coil, forexample in accordance with the Qi wireless charging standard.

The charging station 330 also can include a power regulator 420 for thepower charging port(s) 410, a power regulator 422 for the poweroutlet(s) 412 and a power regulator 424 for the wireless charger(s) 414.Each of the power regulators 420, 422, 424 can receive electrical power426 (e.g., AC power) from an electrical system, for example via an ACpower plug or by being hard-wired into the electrical system. The powerregulator 420 can convert the electrical power 426 to DC voltage, forexample 5 VDC. Further, the power regulator 420 can be activated anddeactivated by the processor 402 to turn on and turn off power deliveryvia the power charging port(s) 410. Further, the power regulator 420 canbe controlled by the processor 402 to regulate the level of DC currentprovided to the power charging port(s) 410. The power regulator 422 canbe activated and deactivated by the processor 402 to turn on and turnoff power delivery via the power outlet(s) 412. Further, the powerregulator 422 can be controlled by the processor 402 to regulate thelevel of AC current provided to the power outlet(s) 412. In anarrangement in which the voltage provided by the power outlet(s) 412 isdifferent that the voltage of the electrical power 426, the chargingstation 330 further can include a transformer (not shown) in-line withthe power regulator 422 that steps the voltage up or down. The powerregulator 424 can be activated and deactivated by the processor 402 toturn on and turn off power delivery via the wireless charger(s) 414.Further, the power regulator 422 can be controlled by the processor 402to regulate the level of wireless charging power provided by thewireless charger(s) 414.

The charging station 330 also can include a power sensor 430 thatmeasures power consumption by user devices 360 through the powercharging port(s) 410, a power sensor 432 that measures power consumptionby user devices 360 through the power outlet(s) 412 and a power sensor434 that measures power consumption by user devices 360 through thewireless charger(s) 414. The power sensors 430, 432, 434 can comprisefor example, current sensors. In illustration, the processor can receivecurrent level data from each of the power sensors 430, 432, 434 and,based on that data and the respective voltages, compute the respectiveenergy consumption. In a non-limiting example, one or more of the powersensors 430, 432, 434 can include a voltage sensor. The processor 402can receive voltage level data from the respective power sensors 430,432, 434 for use in computing the respective energy consumption. Inanother example, the respective voltages can be predetermined, and thusvoltage sensors not needed.

In an arrangement in which the charging station 330 implements powerlinecommunication with the charging station controller 320 and/or userdevices 360, the charging station 330 can include a powerline networkadapter 440. The powerline network adapter 440 can be coupled to theelectrical power 426 and/or to the power outlet(s) 412. The powerlinenetwork adapter 440 can communicate data between the processor 402 andthe charging station controller 320 via the electrical wiring thatprovides the electrical power 426, communicate data between theprocessor 402 and user devices coupled to the power outlet(s) 412, andcommunicate data between user devices coupled to the power outlet(s) 412and the charging station controller 320 via the electrical wiring thatprovides the electrical power 426.

The charging station 330 can include an input/output (I/O) controller442 that controls communication between the processor 402 and userdevices 360 coupled to the power charging port(s) 410. The processor 402can exchange such data with the charging station controller 320 and/orthe transaction server 310. For example, the processor can exchange suchdata with the charging station controller 320 via the powerline networkadapter 440 and/or one or more network adapters 444. Modems, cablemodems, Ethernet cards and wireless transceivers are examples ofdifferent types of network adapters 444 that can be used with thecharging station 330. The transceivers can include, for instance, a PANtransceiver a WiFi transceiver.

The charging station 330 also can include one or more visual indicators450, for example LED lights, LED displays, etc., via which the processor402 presents visual alerts. The charging station 330 also can includeone or more output audio transducers 452 via which the processor 402presents audible alerts. The charging station 330 may include an audiocontroller (not shown) to which the processor 402 communicates digitalaudio signals. The audio controller can convert the digital audiosignals to analog audio signals, amplify the analog audio signals, andcommunicate the amplified audio signals to the output audiotransducer(s) 452.

FIG. 5 is a perspective view of an example of a charging locker 380. Thecharging locker 384 can be configured in a similar manner.

The charging locker can include a secure box 500 comprising a pluralityof sides, for example a left side 502, a right side 504, a top side 506,a bottom side 508 and a back side 510. Further, the secure box caninclude a door 512 attached to the left side 502, right side 504, topside 506 or bottom side 508 via a hinge 514. The door 512 can include ahandle 516. The charging locker 380 also can include an electronicallyactuated lock 518 attached to one of the sides 502, 504, 506, 508 andconfigured to lock the door 512 in a closed position against frontfacing edges of the sides 502, 504, 506, 508. The lock 518 can include asensor that detects whether the door 512 is in the closed position. Thecharging locker 380 also can include a door actuator 520 or spring thatautomatically opens the door 512 in response to the lock 518 beingreleased.

Further, the charging locker 380 can include the charging station 334which, as noted, can be configured in a manner similar to the chargingstation 330 of FIG. 4 . The charging station 334 can include, forexample, one or more power charging ports 410, one or more power outlets412 and/or one or more wireless chargers 414. In an arrangement in whichthe box 500 is made of metal, an antenna (not shown) of a transceiver ofthe network adapter(s) 444 (FIG. 4 ) can be mounted external to the box500 and connected to the transceiver via wires routed through a hole inthe box, for example on the back side 510. External electrical wiringand networking cables connected to the charging station 334 can berouted through a hole in the box, for example on the back side 510.

The electronically actuated lock 518 and door actuator 520 can becommunicatively linked to the processor 402 (FIG. 4 ) of the chargingstation 334, for example via relays. The processor 402 can be configuredto activate relays to actuate the lock 518 between a locked state and anunlocked state. The processor 402 also can be configured to actuate thedoor actuator 520 via a relay to open the door 512 in response to thelock 518 being actuated into an unlocked state.

The charging locker 380 also can include a user interface 530, whichwill be described in further detail in FIG. 6 . Components of the userinterface 530 can be communicatively linked to the processor 402, forexample via wiring in the charging locker 380. The processor 402 canreceive and process data received from data generating components of theuser interface 530, as well as communicate data to informationpresentation components of the user interface 530.

FIG. 6 depicts an example of the user interface 530 of a charging locker380. The user interface 530 can include a keypad 600, a camera 602, afingerprint sensor 604 and a display 606. A user can depress keys 608 ofthe keypad 600 to enter a passcode to unlock the charging locker 380. Inillustration, the keypad 600 can communicate data corresponding to eachkey 608 depression to the processor 402. Responsive to the proper keycombination being entered when the lock 518 (FIG. 5 ) is in the lockedstate, the processor 402 can actuate the lock 518 to the unlocked state.Further, the processor 402 can actuate the door actuator 520 to open thedoor 512. Responsive to a proper key combination being entered, orsimply a single key being depressed, when the lock 518 (FIG. 5 ) is inthe unlocked state and the sensor of the lock 518 indicates the door 512is in the closed position, the processor 402 can actuate the lock 518 tothe locked state, thus locking the door closed. In this regard, thesensor of the lock 518 can be communicatively linked to the processor402.

The camera 602, fingerprint sensor 604 and display 606 each can becommunicatively linked to the processor 402 and communicate respectivedata to the processor 402. Responsive to the camera 602 capturing animage of an authorized user of the charging locker 380, or responsive tothe fingerprint sensor capturing a fingerprint of an authorized user ofthe charging locker 380, when the lock 518 is in the locked state, theprocessor 402 can actuate the lock 518 to the unlocked state. Further,the processor 402 can actuate the door actuator 520 to open the door512. Responsive to the camera 602 capturing an image of an authorizeduser of the charging locker 380, or responsive to the fingerprint sensorcapturing a fingerprint of an authorized user of the charging locker380, when the lock 518 is in the unlocked state and the sensor of thelock 518 indicates the door 512 is in the closed position, the processor402 can actuate the lock 518 to the locked state, thus locking the doorclosed.

Via the display 606 the processor 402 can present various information tothe user. For example, the processor 402 can present informationindicating the charge level of one or more user devices 360 beingcharged by the charging station 334, an amount of power charging creditdeductions thus far accumulated for use of the charging locker 380, anamount of the user's available power charging credits, special offers tothe user, and so on.

FIG. 7 is a block diagram illustrating example architecture for thecharging station controller 320. The charging station controller 322 canbe configured in a similar manner.

The charging station controller 320 can include a processor 702 (e.g.,central processing unit, controller, application specific integratedcircuit, etc.) coupled to memory elements 704 through a system bus orother suitable circuitry. As such, the charging station controller 320can store program code within the memory elements 704. The processor 702can execute the program code accessed from the memory elements 704 viathe system bus. The memory elements 704 can include, for example, localmemory and one or more bulk storage devices. The charging stationcontroller 320 also can include one or more cache memories (not shown)that provide temporary storage of at least some program code in order toreduce the number of times program code must be retrieved from the localmemory and/or bulk storage device during execution.

The charging station controller 320 also can include one or more networkadapters 706. Modems, cable modems, Ethernet cards and wirelesstransceivers are examples of different types of network adapters 706that can be used with the charging station controller 320. Thetransceivers can include, for instance, a PAN transceiver a WiFitransceiver. The charging station controller 320 can communicate withthe transaction server 310 via the network adapter(s) 706.

The charging station controller 320 also can include one or morepowerline network adapters 708. The charging station controller 320 cancommunicate with charging stations 330-334 via the powerline networkadapters over electrical lines providing power to the charging stations330-334 and/or communicate with the charging stations 330-334 via thenetwork adapter(s) 706.

As noted, in another arrangement, the charging station controller 320can be a component of the transaction server 310. In such anarrangement, the processor, memory elements, network adapter(s) andpowerline network adapter of the transaction server 310 also may be usedas the processor 702, memory elements 704, network adapter(s) 706 andpowerline network adapter 708 of the charging station controller 320.

FIG. 8 is a block diagram illustrating example architecture for thetransaction server 310. The transaction server 310 can include aprocessor 802 (e.g., central processing unit, controller, applicationspecific integrated circuit, etc.) coupled to memory elements 804through a system bus or other suitable circuitry. As such, thetransaction server 310 can store program code within the memory elements804. The processor 802 can execute the program code accessed from thememory elements 804 via the system bus. The memory elements 804 caninclude, for example, local memory and one or more bulk storage devices.The transaction server 310 also can include one or more cache memories(not shown) that provide temporary storage of at least some program codein order to reduce the number of times program code must be retrievedfrom the local memory and/or bulk storage device during execution.

The transaction server 310 also can include one or more network adapters806. Modems, cable modems, Ethernet cards and wireless transceivers areexamples of different types of network adapters 806 that can be usedwith the charging station controller 320. The transceivers can include,for instance, a PAN transceiver a WiFi transceiver.

In an arrangement in which the transaction server 310 comprises thecharging station controller 320, the transaction server 310 also caninclude one or more powerline network adapters 808. The transactionserver 310 can communicate with charging stations 330-334 via thepowerline network adapters over electrical lines providing power to thecharging stations 330-334 and/or communicate with the charging stations330-334 via the network adapter(s) 806.

FIG. 9 is a flowchart illustrating an example of a method 900 ofproviding a power charging service. The method can be implemented by thetransaction server 310 and/or the transaction server 312. At step 902,the transaction server 310 can detect an in-store customer transaction.At step 904, the transaction server 310 can assign power chargingcredits to the customer based, at least in part, on the in-storecustomer transaction. At step 906, the transaction server 310 canactivate a charging station for the customer. At step 908, thetransaction server 310 can determine, using a processor, whether anamount of energy consumption by at least one user device of the customerfrom the charging station has reached a threshold value, the thresholdvalue based, at least in part, on the power charging credits assigned tothe customer. At step 910, the transaction server 310 can, responsive todetermining that the energy consumption by the at least one user deviceof the customer from the charging station has reached the thresholdvalue, initiate the charging station to cease or reduce power beingdelivered by the charging station to the at least one user device of theuser.

The foregoing description is just an example of embodiments of theinvention, and variations and substitutions. While the disclosureconcludes with claims defining novel features, it is believed that thevarious features described herein will be better understood from aconsideration of the description in conjunction with the drawings. Theprocess(es), machine(s), manufacture(s) and any variations thereofdescribed within this disclosure are provided for purposes ofillustration. Any specific structural and functional details describedare not to be interpreted as limiting, but merely as a basis for theclaims and as a representative basis for teaching one skilled in the artto variously employ the features described in virtually anyappropriately detailed structure. Further, the terms and phrases usedwithin this disclosure are not intended to be limiting, but rather toprovide an understandable description of the features described.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a computer, or other programmable data processing apparatusto produce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerreadable program instructions may also be stored in a computer readablestorage medium that can direct a computer, a programmable dataprocessing apparatus, and/or other devices to function in a particularmanner, such that the computer readable storage medium havinginstructions stored therein comprises an article of manufactureincluding instructions which implement aspects of the function/actspecified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be accomplished as one step, executed concurrently,substantially concurrently, in a partially or wholly temporallyoverlapping manner, or the blocks may sometimes be executed in thereverse order, depending upon the functionality involved. It will alsobe noted that each block of the block diagrams and/or flowchartillustration, and combinations of blocks in the block diagrams and/orflowchart illustration, can be implemented by special purposehardware-based systems that perform the specified functions or acts orcarry out combinations of special purpose hardware and computerinstructions. The terminology used herein is for the purpose ofdescribing particular embodiments only and is not intended to belimiting of the invention. As used herein, the singular forms “a,” “an,”and “the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will be further understood thatthe terms “includes,” “including,” “comprises,” and/or “comprising,”when used in this disclosure, specify the presence of stated features,integers, steps, operations, elements, and/or components, but do notpreclude the presence or addition of one or more other features,integers, steps, operations, elements, components, and/or groupsthereof.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a,” “an,” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “includes,”“including,” “comprises,” and/or “comprising,” when used in thisdisclosure, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

Reference throughout this disclosure to “one embodiment,” “anembodiment,” “one arrangement,” “an arrangement,” “one aspect,” “anaspect,” or similar language means that a particular feature, structure,or characteristic described in connection with the embodiment isincluded in at least one embodiment described within this disclosure.Thus, appearances of the phrases “one embodiment,” “an embodiment,” “onearrangement,” “an arrangement,” “one aspect,” “an aspect,” and similarlanguage throughout this disclosure may, but do not necessarily, allrefer to the same embodiment.

The term “plurality,” as used herein, is defined as two or more thantwo. The term “another,” as used herein, is defined as at least a secondor more. The term “coupled,” as used herein, is defined as connected,whether directly without any intervening elements or indirectly with oneor more intervening elements, unless otherwise indicated. Two elementsalso can be coupled mechanically, electrically, or communicativelylinked through a communication channel, pathway, network, or system. Theterm “and/or” as used herein refers to and encompasses any and allpossible combinations of one or more of the associated listed items. Itwill also be understood that, although the terms first, second, etc. maybe used herein to describe various elements, these elements should notbe limited by these terms, as these terms are only used to distinguishone element from another unless stated otherwise or the contextindicates otherwise.

The term “if” may be construed to mean “when” or “upon” or “in responseto determining” or “in response to detecting,” depending on the context.Similarly, the phrase “if it is determined” or “if [a stated conditionor event] is detected” may be construed to mean “upon determining” or“in response to determining” or “upon detecting [the stated condition orevent]” or “in response to detecting [the stated condition or event],”depending on the context.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A method, comprising: detecting an in-storecustomer transaction; assigning power charging credits to the customerbased, at least in part, on the in-store customer transaction;activating a charging station for the customer; determining, using aprocessor, whether an amount of energy consumption by at least one userdevice of the customer from the charging station has reached a thresholdvalue, the threshold value based, at least in part, on the powercharging credits assigned to the customer; and responsive to determiningthat the energy consumption by the at least one user device of thecustomer from the charging station has reached the threshold value,initiating the charging station to cease or reduce power being deliveredby the charging station to the at least one user device of the user. 2.The method of claim 1, further comprising: tracking a path of thecustomer with respect to locations of a plurality of charging stationsat a facility; determining that the charging station, from among thoseof the plurality charging stations that currently are available, isnearest to a current location of the customer; and activating thecharging station based, at least in part, on the customer remainingwithin a threshold distance of the charging station at least a thresholdperiod of time.
 3. The method of claim 2, further comprising: generatingan alert, presented on the user device, indicating to the customer thedetermined charging station is available for use by the customer tocharge the device.
 4. The method of claim 1, further comprising:responsive to determining that the energy consumption by the at leastone user device of the customer from the charging station has reached athreshold value, generating an alert on the user device that providesthe customer with opportunity to purchase additional power chargingcredits.
 5. The method of claim 1, wherein the assigning the powercharging credits to the customer comprises: assigning the power chargingcredits to the customer using a distributed ledger.
 6. The method claim5, further comprising: wherein the assigning the power charging creditsto the customer using the distributed ledger comprises automaticallygenerating a block for a blockchain, the block indicating at least auser identifier for the user and an indication of an amount of the powercharging credits assigned to the customer.
 7. The method of claim 5,further comprising: transferring at last a portion of the power chargingcredits from the customer to a user by automatically generating a blockfor a blockchain, the block indicating at least a user identifier of thecustomer, a user identifier of the user, and an indication of an amountof the power charging credits that are being transferred.
 8. A system,comprising: a processor programmed to initiate executable operationscomprising: detecting an in-store customer transaction; assigning powercharging credits to the customer based, at least in part, on thein-store customer transaction; activating a charging station for thecustomer; determining whether an amount of energy consumption by atleast one user device of the customer from the charging station hasreached a threshold value, the threshold value based, at least in part,on the power charging credits assigned to the customer; and responsiveto determining that the energy consumption by the at least one userdevice of the customer from the charging station has reached thethreshold value, initiating the charging station to cease or reducepower being delivered by the charging station to the at least one userdevice of the user.
 9. The system of claim 8, the executable operationsfurther comprising: tracking a path of the customer with respect tolocations of a plurality of charging stations at a facility; determiningthat the charging station, from among those of the plurality chargingstations that currently are available, is nearest to a current locationof the customer; and activating the charging station based, at least inpart, on the customer remaining within a threshold distance of thecharging station at least a threshold period of time.
 10. The system ofclaim 9, the executable operations further comprising: generating analert, presented on the user device, indicating to the customer thedetermined charging station is available for use by the customer tocharge the device.
 11. The system of claim 8, the executable operationsfurther comprising: responsive to determining that the energyconsumption by the at least one user device of the customer from thecharging station has reached a threshold value, generating an alert onthe user device that provides the customer with opportunity to purchaseadditional power charging credits.
 12. The system of claim 8, whereinthe assigning the power charging credits to the customer comprises:assigning the power charging credits to the customer using a distributedledger.
 13. The system of claim 12, the executable operations furthercomprising: wherein the assigning the power charging credits to thecustomer using the distributed ledger comprises automatically generatinga block for a blockchain, the block indicating at least a useridentifier for the user and an indication of an amount of the powercharging credits assigned to the customer.
 14. The system of claim 12,the executable operations further comprising: transferring at last aportion of the power charging credits from the customer to a user byautomatically generating a block for a blockchain, the block indicatingat least a user identifier of the customer, a user identifier of theuser, and an indication of an amount of the power charging credits thatare being transferred.
 15. A computer program product, comprising: oneor more computer readable storage mediums having program code storedthereon, the program code stored on the one or more computer readablestorage mediums collectively executable by a data processing system toinitiate operations comprising: detecting an in-store customertransaction; assigning power charging credits to the customer based, atleast in part, on the in-store customer transaction; activating acharging station for the customer; determining whether an amount ofenergy consumption by at least one user device of the customer from thecharging station has reached a threshold value, the threshold valuebased, at least in part, on the power charging credits assigned to thecustomer; and responsive to determining that the energy consumption bythe at least one user device of the customer from the charging stationhas reached the threshold value, initiating the charging station tocease or reduce power being delivered by the charging station to the atleast one user device of the user.
 16. The computer program product ofclaim 15, the operations further comprising: tracking a path of thecustomer with respect to locations of a plurality of charging stationsat a facility; determining that the charging station, from among thoseof the plurality charging stations that currently are available, isnearest to a current location of the customer; and activating thecharging station based, at least in part, on the customer remainingwithin a threshold distance of the charging station at least a thresholdperiod of time.
 17. The computer program product of claim 16, whereinthe program code is executable by the data processing system to initiateoperations further comprising: generating an alert, presented on theuser device, indicating to the customer the determined charging stationis available for use by the customer to charge the device.
 18. Thecomputer program product of claim 15, wherein the program code isexecutable by the data processing system to initiate operations furthercomprising: responsive to determining that the energy consumption by theat least one user device of the customer from the charging station hasreached a threshold value, generating an alert on the user device thatprovides the customer with opportunity to purchase additional powercharging credits.
 19. The computer program product of claim 15, whereinthe assigning the power charging credits to the customer comprises:assigning the power charging credits to the customer using a distributedledger.
 20. The computer program product of claim 19, wherein theprogram code is executable by the data processing system to initiateoperations further comprising: wherein the assigning the power chargingcredits to the customer using the distributed ledger comprisesautomatically generating a block for a blockchain, the block indicatingat least a user identifier for the user and an indication of an amountof the power charging credits assigned to the customer.